1. Field of the Invention
The present invention relates to a control scheme that cancels the dynamics of a motor and a joint controller. More particularly, the present invention relates to a control scheme that cancels the dynamics of a motor and a joint controller provided by a robot manufacturer.
2. Description of Background Art
Robot manufacturers frequently equip robots with built-in control schemes. These schemes typically use a combination of joint position, joint velocity, and derivative action to independently control each joint. Common control schemes include proportional plus integral (PI), proportional plus derivative (PD), and proportional plus integral plus derivative (PID).
The actuator most commonly used in robot joints is a permanent magnet direct current (DC) motor. A DC motor is driven by a controllable voltage or current source. Some manufacturers enable a user to indirectly command a desired torque by applying a signal that is proportional to the motor's armature current. Since a motor's torque is proportional to its armature current, the torque can be directly and accurately controlled.
However, commanding current (and therefore torque) is not always an option, particularly if a robot is not intended to be used to develop novel control schemes. In this situation, the built-in motor and controller appear as a black box to the user. This forces the user to apply position or velocity commands and then entrust the robot's own built-in independent-joint controller to execute those commands.
One disadvantage of the independent-joint control schemes supplied by robot manufacturers is that each joint controller acts independently of the dynamics at neighboring joints and produces perturbations at these joints. Also, the feedback gains are constants and pre-specified. The controllers cannot update the feedback gains under varying payloads. This is problematic because robots are highly non-linear systems. Their inertial effects, couplings between joints, and gravity effects are all either position-dependent or position-and-velocity-dependent terms. Furthermore, the inertial loading terms can change drastically at high speeds. Thus, independent-joint control schemes that use constant feedback gains to control a robot do not perform well under varying speeds and payloads.
In recent years, the robotics and control communities have developed sophisticated control schemes that involve commanding a torque to a robot (i.e., instructing a robot to exhibit a particular torque at a particular joint actuator). Unfortunately, many researchers and practitioners cannot test or validate such control algorithms using robots that do not accept torque commands.